@import "reset.css";
body {
  background-color: #eef2f6;
}

.config-wrapper {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 850px;
  height: 700px;
  padding: 20px;
  display: flex;
  flex-direction: column;
  background-color: #fff;
  box-shadow: 0 0 10px snow;
  border-radius: 5px;
  overflow: hidden;
}
.config-wrapper header {
  user-select: none;
  position: relative;
}
.config-wrapper header ul {
  display: flex;
  position: relative;
}
.config-wrapper header ul li {
  width: 150px;
  height: 45px;
  margin: 0 5px;
  line-height: 45px;
  font-size: 14px;
  font-weight: bold;
  text-align: center;
  letter-spacing: 2px;
  border-radius: 5px;
  cursor: pointer;
  transition: 0.5s all;
}
.config-wrapper header ul li.selected {
  color: #fff;
}
.config-wrapper header ul li:first-child {
  margin-left: 0;
}
.config-wrapper header ul .bg {
  width: 150px;
  height: 45px;
  line-height: 45px;
  letter-spacing: 2px;
  border-radius: 5px;
  position: absolute;
  left: 0;
  z-index: -1;
  background-image: linear-gradient(to right, #00d9ff, #45e3ff);
  transition: 0.5s all;
}
.config-wrapper header ul .bg::before {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  content: "";
  z-index: -1;
  width: 100%;
  height: 100%;
  background: inherit;
  border-radius: inherit;
  filter: blur(5px);
  transition: all 1s;
}
.config-wrapper header ul #show-insert-window-btn {
  width: 20px;
  height: 20px;
  position: absolute;
  top: 60%;
  right: 5px;
  cursor: pointer;
}
.config-wrapper header ul #show-insert-window-btn div {
  position: absolute;
  width: 20px;
  height: 4px;
  border-radius: 5px;
  background-image: linear-gradient(to right, #00d9ff, #45e3ff);
}
.config-wrapper header ul #show-insert-window-btn div::before {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  content: "";
  z-index: -1;
  width: 100%;
  height: 100%;
  background: inherit;
  border-radius: inherit;
  filter: blur(2px);
  transition: all 1s;
}
.config-wrapper header ul #show-insert-window-btn div:first-child {
  transform: rotateZ(90deg);
}
.config-wrapper .line {
  position: relative;
  height: 5px;
  margin: 8px 0;
  border-radius: 5px;
  background-image: linear-gradient(to right, #00d9ff, #45e3ff);
}
.config-wrapper .line::before {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  content: "";
  z-index: -1;
  width: 100%;
  height: 100%;
  background: inherit;
  border-radius: inherit;
  filter: blur(5px);
  transition: all 1s;
}
.config-wrapper .line::before {
  top: 80%;
}
.config-wrapper main {
  flex: 1;
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  width: calc(100% * 2);
  height: 580px;
  margin-top: 15px;
  transition: 0.5s all;
}
.config-wrapper main > div {
  width: 100%;
  height: 100%;
  overflow-x: hidden;
  overflow-y: auto;
}
.config-wrapper main > div:first-child::-webkit-scrollbar {
  width: 5px;
  border-radius: 5px;
}
.config-wrapper main > div:first-child::-webkit-scrollbar-thumb {
  border-radius: 5px;
  background-image: linear-gradient(to right, #00d9ff, #45e3ff);
}
.config-wrapper main #proxy-settings-page table {
  width: 100%;
}
.config-wrapper main #proxy-settings-page table th {
  height: 50px;
  text-align: center;
  font-weight: bold;
  text-align: center;
  letter-spacing: 2px;
  margin: 10px 0;
}
.config-wrapper main #proxy-settings-page table td {
  padding: 15px 0;
  text-align: center;
  white-space: nowrap;
  text-overflow: ellipsis;
  outline-color: #00d9ff;
}
.config-wrapper main #proxy-settings-page table td.protocol {
  width: 150px;
  padding: 0 10px;
}
.config-wrapper main #proxy-settings-page table td.operation {
  width: 280px;
}
.config-wrapper main #proxy-settings-page table td.operation button {
  position: relative;
  padding: 10px 20px;
  margin: 0 4px;
  font-size: 12px;
  border-radius: 5px;
  color: #fff;
  font-weight: bold;
  transition: 0.5s transform;
}
.config-wrapper main #proxy-settings-page table td.operation button::before {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  content: "";
  z-index: -1;
  width: 100%;
  height: 100%;
  background: inherit;
  border-radius: inherit;
  filter: blur(3px);
  transition: all 1s;
}
.config-wrapper main #proxy-settings-page table td.operation button:hover {
  transform: translateY(-3px);
}
.config-wrapper main #proxy-settings-page table td.operation button.enable {
  background-image: linear-gradient(to right, #00d9ff, #45e3ff);
}
.config-wrapper main #proxy-settings-page table td.operation button.delete {
  background: linear-gradient(to right, #f94e42, #e84354);
}
.config-wrapper main #others-page {
  user-select: none;
  padding: 10px;
}
.config-wrapper main #others-page p {
  box-shadow: 0px 0px 15px #ededed;
  border-radius: 6px;
  padding: 20px 15px;
}
.config-wrapper main #others-page p.reload-page-wrap {
  display: flex;
  align-items: center;
}
.config-wrapper main #others-page p.reload-page-wrap #reload-page {
  cursor: pointer;
  width: 16px;
  height: 16px;
}
.config-wrapper main #others-page p.reload-page-wrap label {
  cursor: pointer;
  font-size: 15px;
  margin-left: 5px;
}

.protocol {
  user-select: none;
  width: max-content;
  height: 40px;
  position: relative;
}
.protocol:hover .protocol-select {
  border-bottom-left-radius: 0;
  border-bottom-right-radius: 0;
}
.protocol:hover .protocol-select::after {
  transform: scaleX(1.4) rotateZ(270deg);
}
.protocol:hover .options {
  transform: translate(-50%, -50%) scale(1);
}
.protocol .protocol-select {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  z-index: 1;
  width: 100px;
  height: 40px;
  line-height: 40px;
  text-align: center;
  border-radius: 5px;
  background-color: #fff;
  box-shadow: 0 0 20px #e4e4e4;
  transition: 0.3s all;
  cursor: pointer;
}
.protocol .protocol-select::after {
  content: ">";
  display: inline-block;
  margin-left: 7px;
  transform: scaleX(1.4) rotateZ(90deg);
  transition: 0.5s all;
  font-size: 14px;
  color: #bebebe;
}
.protocol .options {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 100px;
  overflow: hidden;
  margin-top: 60px;
  z-index: 2;
  border-bottom-left-radius: 5px;
  border-bottom-right-radius: 5px;
  box-shadow: 0 10px 10px #f0f0f0;
  transform: translate(-50%, -50%) scale(0);
  transform-origin: center top;
  transition: 0.5s all;
}
.protocol .options .option {
  height: 40px;
  line-height: 40px;
  text-align: center;
  background-color: #fff;
  cursor: pointer;
}
.protocol .options .option:hover {
  background-color: #ececec;
}

#popup-wrapper {
  z-index: 999;
  width: 100vw;
  height: 100vh;
  position: fixed;
  top: 0;
  left: 0;
  background-color: rgba(0, 0, 0, 0.5);
}
#popup-wrapper .popup-content {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  padding: 40px 50px;
  border-radius: 5px;
  background-color: #fff;
}
#popup-wrapper .popup-content #popup-form table {
  margin: 0 auto;
}
#popup-wrapper .popup-content #popup-form table tr td {
  height: 50px;
}
#popup-wrapper .popup-content #popup-form table tr td.text {
  text-align: right;
}
#popup-wrapper .popup-content #popup-form table tr td.buttons {
  text-align: center;
}
#popup-wrapper .popup-content #popup-form table tr td.buttons button {
  position: relative;
  padding: 10px 15px;
  margin: 0 2px;
  font-size: 12px;
  border-radius: 5px;
  color: #fff;
  letter-spacing: 2px;
  font-weight: bold;
  transition: 0.5s transform;
}
#popup-wrapper .popup-content #popup-form table tr td.buttons button::before {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  content: "";
  z-index: -1;
  width: 100%;
  height: 100%;
  background: inherit;
  border-radius: inherit;
  filter: blur(3px);
  transition: all 1s;
}
#popup-wrapper .popup-content #popup-form table tr td.buttons button.enable {
  background-image: linear-gradient(to right, #00d9ff, #45e3ff);
}
#popup-wrapper .popup-content #popup-form table tr td.buttons button.cancel {
  background: linear-gradient(to right, #f94e42, #e84354);
}
#popup-wrapper .popup-content #popup-form table tr td input {
  box-shadow: 0 0 10px #e7e7e7;
  height: 35px;
}
#popup-wrapper .popup-content #popup-form .protocol {
  width: 100px;
  padding: 0 10px;
}